Phát triển ứng dụng Symbian OS

Qt

Kể từ năm 2010, SDK cho Symbian là C ++ tiêu chuẩn, sử dụng Qt. Nó có thể được sử dụng với Qt Creator hoặc carbide (IDE cũ hơn được sử dụng trước đây để phát triển Symbian).[45][49] Trình giả lập điện thoại cho phép thử nghiệm các ứng dụng Qt. Các ứng dụng được biên dịch cho trình giả lập được biên dịch thành mã gốc cho nền tảng phát triển, thay vì phải được mô phỏng.[50] Phát triển ứng dụng có thể sử dụng C++ hoặc QML.

Symbian C++

Vì hệ điều hành Symbian được viết bằng C++ bằng mã chuẩn của Symbian Software, nên có thể phát triển bằng Symbian C++, mặc dù đây không phải là một triển khai tiêu chuẩn. Trước khi phát hành SDK Qt, đây là môi trường phát triển tiêu chuẩn. Có nhiều nền tảng dựa trên Symbian OS đã cung cấp software development kit (SDK) cho các nhà phát triển ứng dụng muốn nhắm mục tiêu các thiết bị Symbian OS, những nền tảng chính là UIQ và S60. Các sản phẩm điện thoại cá nhân hoặc gia đình thường có các phần mở rộng SDK hoặc SDK có thể tải xuống từ trang web của nhà sản xuất.

SDK chứa tài liệu, file tiêu đề và file thư viện cần thiết để xây dựng phần mềm Symbian OS, và một trình giả lập dựa trên Windows("WINS"). cho đến Symbian OS 8, SDK cũng bao gồm một phiên bản của trình biên dịch GNU Compiler Collection (GCC) (một trình biên dịch đa nền tảng) để xây dựng phần mềm để hoạt động trên thiết bị.

Symbian OS 9 và nền tảng Symbian sử dụng giao diện nhị phân ứng dụng (ABI) mới và cần một trình biên dịch khác. Một sự lựa chọn các trình biên dịch có sẵn bao gồm một phiên bản GCC mới hơn (xem các liên kết bên ngoài bên dưới).

Thật không may, lập trình Symbian C ++ có một đường cong học tập dốc, vì Symbian C ++ yêu cầu sử dụng các kỹ thuật đặc biệt như mô tả, các đối tượng hoạt động và ngăn xếp dọn dẹp. Điều này có thể làm cho các chương trình thậm chí tương đối đơn giản ban đầu khó thực hiện hơn trong các môi trường khác. Có thể các kỹ thuật, được phát triển cho phần cứng và trình biên dịch di động bị hạn chế hơn nhiều vào những năm 1990, đã gây ra sự phức tạp thêm trong mã nguồn vì các lập trình viên được yêu cầu tập trung vào các chi tiết cấp thấp thay vì các tính năng cụ thể hơn cho ứng dụng. Kể từ năm 2010, những vấn đề này không còn xảy ra khi sử dụng C++ tiêu chuẩn, với SDK Qt.

Lập trình Symbian C ++ thường được thực hiện với IDE. Đối với các phiên bản trước của Symbian OS, IDE thương mại CodeWarrior cho Symbian OS được ưa chuộng. Các công cụ CodeWarrior đã được thay thế trong năm 2006 bởi Carbide.c++, một IDE dựa trên Eclipseđược phát triển bởi Nokia. Carbide.c++ được cung cấp trong bốn phiên bản khác nhau: Express, Developer, Professional, và OEM, với mức độ tăng khả năng. Phần mềm đầy đủ tính năng có thể được tạo và phát hành với phiên bản Express, miễn phí. Các tính năng như thiết kế giao diện người dùng, gỡ lỗi sự cố, vv có sẵn trong các phiên bản khác, tính phí. Microsoft Visual Studio 2003 và 2005 cũng được hỗ trợ thông qua plugin Carbide.vs.

Ngôn ngữ khác

Symbian v9.1 với giao diện S60v3, trên Nokia E61

Các ứng dụng của Symbian có thể được lập trình bằng Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets và Standard C/C++.[51]

Lập trình viên Visual Basic có thể dùng NS Basic để phát triển ứng dụng cho các thiết bị S60 3rd Edition và UIQ 3.

Trước đây, việc phát triển Visual Basic, Visual Basic .NET, và C# Symbian có thể thông qua AppForge Crossfire, một plugin cho Microsoft Visual Studio. ngày 13 tháng 3 năm 2007, AppForge ngừng hoạt động; Oracle đã mua tài sản trí tuệ, nhưng tuyên bố rằng họ không có kế hoạch bán hoặc cung cấp hỗ trợ cho các sản phẩm cũ của AppForge. Net60, một framework .NET nhỏ gọn cho Symbian, ược phát triển bởi redFIVElabs, được bán dưới dạng sản phẩm thương mại. Với Net60, mã nguồn VB.NET và C# (và các ngôn ngữ khác) được biên dịch thành ngôn ngữ trung gian (IL)được thực thi trong Symbian OS bằng một trình biên dịch just-in-time. (As of Jan 18th, 2010, RedFiveLabs đã ngừng phát triển Net60 với thông báo này trên trang đích của họ: "Ở giai đoạn này, chúng tôi đang theo đuổi một số tùy chọn bán IP để Net60 có thể tiếp tục có tương lai".)

Cũng có một phiên bản của Borland IDE cho Symbian OS. Cũng có thể phát triển hệ điều hành Symbian trên LinuxMac OS X bằng cách sử dụng các công cụ và phương pháp do cộng đồng phát triển, một phần được kích hoạt bởi Symbian phát hành mã nguồn cho các công cụ then chốt. Một plugin cho phép phát triển các ứng dụng hệ điều hành Symbian trong Xcode IDE cho Mac OS X đã có sẵn.[52]

Các ứng dụng Java ME cho hệ điều hành Symbian được phát triển bằng các kỹ thuật và công cụ tiêu chuẩn như Sun Java Wireless Toolkit (trước đây là J2ME Wireless Toolkit). Chúng được đóng gói dưới dạng file JAR (và có thể là JAD). Cả hai ứng dụng CLDC và CDC đều có thể được tạo bằng NetBeans. Các công cụ khác bao gồm SuperWaba, có thể được sử dụng để xây dựng các chương trình Symbian 7.0 và 7.x bằng Java.

Điện thoại Nokia S60 cũng có thể chạy các tập lệnh Python khi trình thông dịch Python for S60 được cài đặt, với API được tạo tùy chỉnh cho phép hỗ trợ Bluetooth và như vậy. Ngoài ra còn có một bảng điều khiển tương tác để cho phép người dùng viết các tập lệnh Python trực tiếp từ điện thoại.

Triển khai

Sau khi được phát triển, các ứng dụng Symbian cần tìm cách đến điện thoại di động của khách hàng. Chúng được đóng gói trong các file SIS có thể được cài đặt qua mạng, qua kết nối PC, Bluetooth hoặc trên thẻ nhớ. Một cách khác là hợp tác với nhà sản xuất điện thoại và có phần mềm đi kèm trên chính điện thoại. Các ứng dụng phải được xác minh qua Symbian Signed cho Symbian OS 9.x để sử dụng các khả năng nhất định (khả năng hệ thống, khả năng hạn chế và khả năng của nhà sản xuất thiết bị).[53] Các ứng dụng hiện có thể được xác minh miễn phí.[54]


Tài liệu tham khảo

WikiPedia: Symbian OS http://newsroom.accenture.com/news/nokia-and-accen... http://www.allaboutmeego.com/news/item/12584_Nokia... http://www.allaboutsymbian.com/features/item/12223... http://www.allaboutsymbian.com/features/item/20007... http://www.allaboutsymbian.com/news/item/12067_No_... http://www.allaboutsymbian.com/news/item/13056_Man... http://www.allaboutsymbian.com/news/item/18502_New... http://www.bgr.com/2011/06/23/symbian-is-officiall... http://www.canalys.com/newsroom/64-million-smart-p... http://www.dailytech.com/Nokia+Offers+to+Purchase+...